首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏TSINGSEE青犀视频

    如何使用OBS流到EasyDSS平台实现播放

    EasyDSS能实现视频流媒体的上传、转码、存储、录像、、拉、直播等功能。在视频能力上,平台可支持用户自行上传视频文件,也可将上传的点播文件作为虚拟直播进行播放。 EasyDSS能支持多播放,可兼容Windows、Android、iOS、Mac等操作系统,还能支持CDN转,具备较强的可拓展性与灵活性。 今天和大家分享一个技术干货,如何使用OBS流到EasyDSS平台实现播放。 操作步骤如下:1)首先,打开OBS:2)打开设置,选择:3)按照rtmp://{ip}:{port}/{application}/id这个规则,配置相关参数后,即可推送成功,实现视频直播的效果 ,如图:我们在此前的文章也分享过如何使用OBS进行与直播,感兴趣的用户可以翻阅我们往期的文章进行了解。

    1.1K20编辑于 2022-06-14
  • 来自专栏RTSP/RTMP直播相关

    Unity环境下RTMP+RTMP播放低延迟解决方案

    在本文之前,我们发布了Unity环境下的RTMP(Windows平台+Android平台)和RTMP|RTSP拉(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总 Unity环境下RTMP Unity环境下,不管是camera还是窗体数据也好,主要是高效率的拿到原始数据,采集端可用的数据格式是RGB的,拿到之后,通过高效率的数据传递,发给封装后的原生SDK,完成数据编码和 Unity环境下RTMP|RTSP播放器 Unity环境下RTMP或RTSP直播播放我们前几年就有发布,并已应用在好多传统行业领域,比如教育或工业仿真或一些低延迟的控制场景。 相关博客: Windows平台Unity3d下如何同时播放多路RTSP或RTMP https://cloud.tencent.com/developer/article/1800633 如何在Unity3d 平台下低延迟播放RTMP或RTSP https://cloud.tencent.com/developer/article/1592731

    4.2K10发布于 2021-06-15
  • 来自专栏C/C++与音视频

    视频RTMP实践

    对应RTMP,业界有很多开源方案。如使用FFMPEG,librtmp(rtmp-dump),gstream。由于ffmpeg和gstreamer比较庞大,仅仅用来,有大炮打蚊子之嫌。 接口。 \n");     return 0; } 基本思路如下: 读文件----解析NAL单元---利用 SendData发送一个完成的NAL单元完成 编译main.cpp Wrapper_RtmpLib.cpp 运行可执行程序 . 3.如果是云主机,在云主机内不能公网IP,而要内网IP 192.168.1.226,客户端访问需要外网IP。 客户端播放效果如下:。

    9.3K30编辑于 2022-06-14
  • 来自专栏技术综合

    Electron播放rtmp直播

    方法一 直接转flv吧 方法二 使用flash 示例代码 如果直接前端放rtmp直播, 则需要有flash, 而Chrome已经不再支持flash了, 所以得借助flash插件 1659969197107 搭环境 使用 vue-cli5 + vue-cli-plugin-electron-builder搭建, 具体看插件文档 播放器使用vue-video-player组件和videojs-flash插件 配置播放器 可以通过navigator.plugins来看flash插件有没有引入成功 image.png 然后引入组件, 配置直播即可 <template> <div class="container /mp4', src: '<em>rtmp</em>://127.0.0.1/live/test', }], techOrder: ['flash', 'html5'] , poster: '', notSupportedMessage: '服务错误', //允许覆盖Video.js无法<em>播放</em>媒体源时显示的默认信息。

    6.3K30编辑于 2022-09-21
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP或轻量级RTSP服务(或摄像头)编码前数据接入类型总结

    很多开发者在做Android平台RTMP或轻量级RTSP服务(摄像头或)时,总感觉接口不够用,以大牛直播SDK为例 (Github) 我们来总结下,我们常规需要支持的编码前音视频数据有哪些类型: CAMERA_FACING_BACK with 0, CAMERA_FACING_FRONT with 1 * * @param curOrg: * PORTRAIT = 1; //竖 * LANDSCAPE = 2; //横 home键在右边的情况 * LANDSCAPE_LEFT_HOME_KEY = 3; //横 home键在左边的情况 支持RGBA数据接入(支持裁剪后数据接入,主要用于场景): /** * Set live video data(no encoded data). 支持RGB565数据接入(主要用于场景): /** * Set live video data(no encoded data).

    97992发布于 2020-10-13
  • 来自专栏流媒体

    Android RTMP之MediaCodec硬编码二(RTMPDump

    简介 在前面的两篇文章中:Android RTMP之MediaCodec硬编码一(H.264进行flv封装)介绍了如何MediaCodec进行H264硬编码,然后将编码后的数据封装到flv文件中。 Android平台下RTMPDump的使用介绍了如何将RTMPDump移植到Android平台下,并读取解析flv文件进行。 主要增加三个方法:建立连接,数据,释放连接。 我们还是使用Android RTMP之MediaCodec硬编码一(H.264进行flv封装)里的代码。 第三步 c++层方法实现 c++层逻辑的编写。我们将方法写到rtmp_handle.cpp。

    5.2K50发布于 2018-08-23
  • 来自专栏RTMP推送

    智慧教室无纸化方案是否适用RTMP

    如果需要适应不同带宽或设备要求,可以使用FFmpeg等工具进行的转码操作。2. 横竖适配在Android设备上,横竖切换时需要考虑屏幕宽高的变化,确保推拉两端可以自动适配。 编码器需要重启以适应新的分辨率设置,拉端也需要能够自动播放适应变化后的视频。3. 补帧策略当屏幕静止不动时,为了避免播放端因帧间距过大而长时间收不到数据,可以采用补帧策略。 智慧教室方案选型本文以大牛直播SDK的Android的SmartServicePublisherV2的demo为例,Android采集计时器,编码打包分别启动RTMP推送和轻量级RTSP服务,Windows 过来分别拉取RTMP和RTSP的,整体延迟毫秒级:启动APP后,先选择需要采集的分辨率(如果选原始分辨率,系统不做缩放),然后选择“启动媒体投影”,并分别启动音频播放采集、采集麦克风。 推送模块为例,我们主要实现了如下功能:音频编码:AAC/SPEEX;视频编码:H.264、H.265;协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;[摄像头]支持采集过程中,前后摄像头实时切换

    40910编辑于 2024-09-18
  • 来自专栏小锋学长生活大爆炸

    如何使用OpenCV RTMP直播

    服务器地址 rtmp = r'rtmp://txy.live-send.acg.tv/live-txy/' # 读取视频并获取属性 cap = cv2.VideoCapture(0) size = (int RTMP是什么? RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。 RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 RTMP与HTTP一样,都属于TCP/IP四层模型的应用层。 树莓派是什么? Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux

    11.6K20发布于 2020-08-13
  • 来自专栏流媒体

    基于FFmpeg进行RTMP(二)

    在前面一节基于FFmpeg进行RTMP(一)我们写了最简单的一版代码。但细心调试过的兄弟会发现当我们把文件换成mp4后,发现上面的代码在写入文件头时报错。也就是说上一版的代码是有bug的。 说明我们的速度有问题。快了或慢了都会有问题。我们大概可以定位到,我们在计算延时的时候出现了错误。 test.mp4放到bin目录下即可 const char *inUrl = "hs.mp4"; //输出的地址 const char *outUrl = "rtmp://192.166.11.13 ////////////////////////////////////////////////////////////////// // 准备 << endl; //每一帧数据 //int64_t pts [ pts*(num/den) 第几秒显示] //int64_t dts 解码时间 [P帧(相对于上一帧的变化

    9.2K50发布于 2018-08-23
  • 来自专栏EasyNVR

    网页可以播放RTMP视频?支持RTMP的网页播放

    我们知道多数监控摄像头都是支持RTMP协议的,当然公安部的摄像头是支持GB28181协议的,这个我们在本文不做过多赘述,我们来探讨一下网页播放RTMP视频播放器。 ? ? 网页可以播放RTMP视频吗?当然是可以的,但是对于PC端来说,网页播放RTMP流媒体视频将会承受更多的服务器压力,满足网页播放RTMP视频有哪些要求,下文我们一起来看一下。 1.便捷。 我们研发的流媒体服务器自身支持对成功接入的摄像机实时视频进行7*24h录像,支持录像的检索与回放,并且支持网络硬盘录像机NVR按设备、通道、日期获取对应录像文件进行录像的检索与回放,无需安装各个安防厂商的视频播放插件 本文已经为大家介绍完毕啦,结论就是网页是能够播放RTMP视频的,如果想体验网页播放RTMP视频的流媒体服务器或者播放器,可以继续关注本栏目。

    7.9K20发布于 2020-05-04
  • 来自专栏RTMP推送

    跨平台低延迟的RTMP播放在无纸化会议与智慧教室的技术设计和架构实践

    相比之下,基于跨平台 RTMP + 播放的方案,能够充分利用现有的流媒体分发体系,实现稳定、低延迟、易扩展的传输能力。 大牛直播SDK推出的跨平台 RTMP SDK,正是这个场景下的“底层引擎”——它像一条高速、稳定、可控的数字通道,将任意终端的画面与音频高效推送到分发节点,再由各类终端实现毫秒级同步播放,让“ 技术架构:跨平台 RTMP + 播放闭环针对无纸化会议与智慧教室的核心诉求,我们基于大牛直播SDK的跨平台 RTMP SDK,构建了一套**“端 → 分发端 → 播放端”**的完整闭环架构 ③ 播放端(Audience Devices) 支持 Windows / Linux / Android / iOS 原生播放器; 支持 Web 浏览器端通过 RTMP 转 WebRTC 或 HTTP-FLV 播放端可实时切换延迟模式(低延迟/平滑模式),适应不同业务需求。 2. 硬件加速编码 Windows / Linux:支持 NVIDIA NVENC 硬编,降低 CPU 占用,提升稳定性。

    40710编辑于 2025-08-12
  • 来自专栏码客

    Nginx添加rtmp模块搭建rtmp服务器

    前言 搭建基于rtmp协议的服务器。 nginx-1.12.2 nginx 3、备份文件 cp -r /etc/nginx /etc/nginx_bak mv /usr/sbin/nginx /usr/sbin/nginx_bak 下载rtmp 模块 仓库地址:nginx-rtmp-module cd /usr/lib64/nginx/modules/ git clone https://github.com/arut/nginx-rtmp-module.git NGINX_HOME=/usr/local/nginx export PATH=$PATH:$NGINX_HOME/sbin 重新编译环境变量 source /etc/profile 配置Nginx的rtmp 请求路径,文件存放路径 hls_fragment 5s; #每个TS文件包含5秒的视频内容 } } } 启动nginx cd /usr/local/nginx

    8.9K20发布于 2019-10-22
  • 来自专栏韩曙亮的移动开发专栏

    【Android RTMP】RTMPDump 流过程 ( 独立线程 | 创建器 | 初始化操作 | 设置地址 | 启用写出 | 连接 RTMP 服务器 | 发送 RTMP 数据包 )

    文章目录 一、 Java 层传入的 RTMP 地址处理 二、 RTMPDump 流线程 三、 创建 RTMP 对象 四、 初始化 RTMP 对象 五、 设置 RTMP 地址 六、 启用 RTMP 独立线程 : RTMP 操作需要在一个独立的线程中完成 , 涉及到网络的操作都是耗时操作 , 在 Android 中都要在线程中执行 ; 2 . 初始化 RTMP RTMP_Init(rtmp); // 设置超时时间 5 秒 rtmp->Link.timeout = 5; 五、 设置 RTMP 地址 ---- 设置 RTMP 地址 , 如果设置失败 结束, 关闭与 RTMP 服务器连接, 释放资源 if(rtmp){ RTMP_Close(rtmp); RTMP_Free(rtmp); } 十一、 RTMPDump 代码 - 获取 Rtmp 地址 char* pushPath = static_cast<char *>(args); // rtmp RTMP* rtmp = 0;

    3.7K20编辑于 2023-03-27
  • 来自专栏用户1692782的专栏

    协议转换之rtsp转rtmp

    本篇记录实现一个rtsp转rtmp直播的程序!闲言少叙,接下来置入主题。 需求 有一个摄像头,比如海康的监控摄像头,可以通过rtsp的方式访问其视频画面! 需要将其画面转换为rtmp协议,并实现直播! 实现思路 我们的程序,称之为rtsp2rtmp,使用该程序实现拉取摄像头rtsp视频,并将rtmp视频流转换为rtmp视频,然后推送到直播服务器,直播服务器采用nginx+rtmp_module的方式实现 << std::endl; // 2.获得信息 m_nRet = avformat_find_stream_info(m_pRtspAVFormatContext, 0); if (m_nRet m_nRet = av_read_frame(m_pRtspAVFormatContext, &pkt); if (m_nRet < 0) { break; } 写入输出

    4.8K30发布于 2020-07-14
  • 来自专栏码客

    OSSRS搭建rtmp服务器

    Server的简写,可见Flash播放RTMP是多么“原生”, 就像浏览器打开http网页一样“原生”, 经测试,Flash播放RTMP可以10天以上不间断播放。 /objs/srs -c conf/http.hooks.callback.conf 测试 ffmpeg -re -stream_loop -1 -i /data/rtmptest.mp4 -vcodec /objs/srs -c conf/ffmpeg.transcode.conf>log.txt & ffmpeg -re -stream_loop -1 -i /usr/local/srs2/doc /log.txt & ffmpeg -re -stream_loop -1 -i /data/rtmptest.mp4 -vcodec copy -acodec copy -f flv -y rtmp 播放地址 rtmp://rtmp.psvmc.cn:1935/live/test http://rtmp.psvmc.cn:8080/live/test.flv

    8.6K30发布于 2019-10-22
  • 来自专栏视频云直播

    rtmp异常快速恢复方案

    ,但用户量非常大,有5w+人在线,下行近100G播放带宽 从cdn播放质量维度来看,对应时间段,卡顿率非常高,观看质量非常差。 2、RTMP 302重定向具体方案 为了解决流过程中,网络异常问题,采用了RTMP 302 重定向的方案,具体实现逻辑如下图所示: 步骤一,流过程中,rtmp server端支持持续弱网检测,支持域名 上述解决方案,在流过程中,通过RTMP 302的方式获取到服务器慢速信息,根据客户端以及服务器端慢速信息,来进行断流重,快速恢复直播,提高成功率。 对上述方案进行扩展,在开始时,利用302进行服务端的负载均衡。服务器端在刚收到客户端数据时,给客户端发送RTMP 302信息,来进行高负载302调度,提高的成功率。 3、结论 综上所述: 1、在流过程中,给客户端发送RTMP 302控制消息,客户端使用服务器提供的重定向地址,进行断流重,可以快速恢复异常,提升上行流质量; 2、在开始时,服务器端可以综合后台机器负载以及带宽资源情况

    3.1K10编辑于 2022-01-12
  • 来自专栏LiteMedia

    LiteCVR安防监控平台使用RTMP,静音帧导致无法播放FLV

    有用户反馈,现场设备使用RTMP协议接入到视频监控汇聚LiteCVR平台,HLS和webrtc格式的视频都能正常播放,FLV视频播放不了,请求我们协助排查和解决。 技术人员立即对现场情况进行排查,通过使用OBS工具流进行播放,发现OBS所有协议都能正常播放。使用海康设备进行测试,FLV视频无法加载。经过分析得知,原来是静音帧导致设备断流所致。 解决上述问题,可在配置文件中修改相关参数,具体配置如下:配置完成后保存并重启,此时设备使用RTMP协议进行,LiteCVR视频汇聚平台上的FLV视频已经能正常播放了。

    36320编辑于 2023-11-07
  • 来自专栏流媒体

    Android平台下使用FFmpeg进行RTMP(摄像头

    简介 前面讲到了在Android平台下使用FFmpeg进行RTMP(视频文件),里面主要是介绍如何解析视频文件并进行,今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码 学习本章之前最好先看之前的文章,这里是一套连贯的教程 RTMP服务器搭建(crtmpserver和nginx) 音视频编码相关名词详解 基于FFmpeg进行RTMP(一) 基于FFmpeg进行RTMP (二) Linux下FFmpeg编译以及Android平台下使用 Android平台下使用FFmpeg进行RTMP(视频文件) 打开摄像头并设置参数 具体代码查看CameraActivity.java (ofmt_ctx, pCodec)这个就和之前的文件一样了。 输出视频数据 ret = av_interleaved_write_frame(ofmt_ctx, &enc_pkt); 释放资源 在结束编码后我们也需要释放相关的资源 if (video_st

    7.4K51发布于 2018-08-23
  • 来自专栏职场亮哥

    排查rtmp协议时握手bug

    概况 转流程序的过程:从一个观看地址拉,然后流到另一个地址。主要用于cdn之间转,目前市面上大多数cdn厂商都愿意不支持动态转,因此只能通过转流程序进行转。 中的代码是地址中没有加密串的情况下的握手过程代码,第二个链接handshake.h中的代码是地址中有加密串的情况下的握手过程代码。 抓包分析 以微赞和网宿为例 obs流网宿握手成功的包点此下载 obs微赞握手成功的包点此下载 网宿没有走加密流程,S2和C1匹配,具体数据包截图如下: ? 微赞流走加密流程,S2和C1不匹配,具体数据包截图如下: ? 到此,整个rtmp握手过程就比较清楚了。 至此,转成功,示例图如下: ? 结论 虽然Adobe公司自己出的rtmp协议不是iso标准的,但是你们这些公司好歹也尽量按照规定来啊,贼坑。

    2.3K21发布于 2020-10-10
  • 来自专栏叹世界

    C++ 调用 ffmpeg 进行 rtmp

    效果 Clion 中演示的效果 终端中运行也没有问题 思路 通过 fork 一个子进程来调用 ffmpeg 进行,视频帧通过 opencv 来获取,通过管道传输到子进程,实现 代码 需要注意的是 = "rtmp://localhost:1935/live/test"; std::stringstream command; command << "ffmpeg "; // infile ; cv::Mat frame; // 在子进程中调用 ffmpeg 进行 FILE *fp = nullptr; fp = popen(command.str().c_str( CMAKE_CXX_STANDARD 20) message("") message("Operation system is ${CMAKE_SYSTEM}") if (CMAKE_SYSTEM_NAME MATCHES "Linux ") message("Current platform: Linux") link_directories(/usr/local/lib) include_directories

    6.1K20编辑于 2022-01-12
领券